package jzqb.service.impl;

import haha.life.common.CutPageBean;
import jzqb.bo.ZTBo;
import jzqb.bo.ZTJBo;
import jzqb.bo.ZTWXBo;
import jzqb.common.Result;
import jzqb.dao.ZTJDao;
import jzqb.dao.ZTWXDao;
import jzqb.service.ZTJService;
import jzqb.service.ZTWXService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * 服务实现类
 * </p>
 *
 * @author 关注公众号：MarkerHub
 * @since 2020-09-22
 */
@Service
public class ZTWXServiceImpl implements ZTWXService {

    @Autowired
    private ZTWXDao ztwxDao;

    @Autowired
    private ZTJService ztjService;

    @Override
    public Result searchResult(ZTWXBo ztwxBo) {
        CutPageBean<ZTWXBo> cutPageBean = new CutPageBean<>();
        ztwxBo.setStart((ztwxBo.getPage() - 1) * ztwxBo.getPageSize());
        List<ZTWXBo> ztwxBos = ztwxDao.searchZtwxResult(ztwxBo);
        Long count = ztwxDao.searchZtwxCount(ztwxBo);
        for (ZTWXBo bo : ztwxBos) {
            ZTJBo ztjBo = ztjService.getZTJByID(bo);
            ZTBo ztBo = ztjService.getZTByID(bo);
            bo.setZtBo(ztBo);
            bo.setZtjBo(ztjBo);
        }
        cutPageBean.initCutPage(count.intValue(), ztwxBo.getPageSize(), ztwxBos);
        return Result.succ(cutPageBean);
    }

    @Override
    public List<ZTWXBo> getListByztBo(ZTBo bo) {
        return ztwxDao.getListByztBo(bo);
    }

    @Override
    public Result getDetail(ZTWXBo ztwxBo) {
        if((ztwxBo.getSysID() != null) && ztwxBo.getId() == null){
            ztwxBo.setId(ztwxBo.getSysID().toString());
        }
         ZTWXBo ztwxBoo = ztwxDao.getDetail(ztwxBo);
         if (ztwxBoo!=null){
             ZTJBo ztjBo = ztjService.getZTJByID(ztwxBoo);
             ZTBo ztBo = ztjService.getZTByID(ztwxBoo);
             ztwxBoo.setZtBo(ztBo);
             ztwxBoo.setZtjBo(ztjBo);
         }
        return  Result.succ(ztwxBoo);
    }
}